A Mechanism for Speculative Memory Accesses Following Synchronizing Operations
نویسندگان
چکیده
In order to reduce the overhead of synchronizing operations of shared memory multiprocessors, this paper proposes a mechanism, named specMEM, to execute memory accesses following a synchronizing operation speculatively before the completion of the synchronization is con rmed. A unique feature of our mechanism is that the detection of speculation failure and the restoration of computational state on the failure are implemented by a small extension of coherent cache. It is also remarkable that operations for speculation on its success and failure are performed in a constant time for each independent of the number of speculative accesses. This is realized by implementing a part of cache tag for cache line state with a simple functional memory. This paper also describes an evaluation result of specMEM applied to barrier synchronization. Performance data was obtained by simulation running benchmark programs in SPLASH-2. We found that the execution time of LU decomposition, in which the length of period between a pair of barriers signi cantly varies because of the uctuation of computational load, is improved by 13%.
منابع مشابه
Reducing Logging Overhead for Deterministic Execution
Deterministic execution of parallel applications can be enforced by logging speculative memory accesses and restoring saved state in the event of a conflict. However, logging all accesses has a prohibitive overhead. We propose three techniques to reduce logging in an always-on transactional memory system. The first, Threaded Section Analysis, statically determines when only a single thread is r...
متن کاملExploring Thread-Level Speculation in Software: The Effects of Memory Access Tracking Granularity
Speculative execution is often the only way to overcome dataflow-imposed limitations and exploit parallelism when dependences can be discovered only at run-time. It also facilitates automatic parallelization of programs that exhibit complicated memory access patterns, which make complete compile-time dependence analysis either impossible or extremely complicated. A number of approaches for coar...
متن کاملCheckpointing Speculative Distributed Shared Memory
This paper describes a checkpointing mechanism destined for Distributed Shared Memory (DSM) systems with speculative prefetching. Speculation is a general technique involving prediction of the future of a computation, namely accesses to shared objects unavailable on the accessing node (read faults). Thanks to such predictions objects can be fetched before the actual access operation is performe...
متن کاملSoftware Transactional Memory Validation - Time and Space Considerations
With single thread performance hitting the power wall, hardware architects have turned to chip-level multiprocessing to increase processor performance. As a result, issues related to the construction of scalable and reliable multi-threaded applications have become increasingly important. One of the most pressing problems in concurrent programming has been synchronizing accesses to shared data a...
متن کاملOperating System I/O Speculation: How Two Invocations Are Faster Than One
We present an in-kernel disk prefetcher which uses speculative execution to determine what data an application is likely to require in the near future. By placing our design within the operating system, we provide several benefits compared to the previous application-level design. Not only is our system easier to implement and deploy, but by handling page faults as well as traditional file-acce...
متن کامل